package com.salefinder.client;

import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.salefinder.client.vo._ConsumerProductVO;
import com.salefinder.client.vo._NameIdPairVO;
import com.salefinder.client.vo._UserItemListVO;
import com.salefinder.client.vo._UserVO;
import com.salefinder.server.server.exception.DataNotFoundException;
import com.salefinder.server.server.exception.SystemException;

/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath("saleQuest")
public interface SaleFinderService extends RemoteService {
	String greetServer(String name) throws IllegalArgumentException;

	List<_ConsumerProductVO> searchProduct(_ConsumerProductVO vo) throws SystemException;

	_UserVO login(_UserVO vo) throws DataNotFoundException, SystemException;

	void submitProduct(_ConsumerProductVO vo);

	void registerUser(_UserVO vo);

	List<String> getProductSuggestions(String name) throws SystemException;

	List<_NameIdPairVO> getBrandSuggestions(String name) throws SystemException;

	List<_NameIdPairVO> getMerchantSuggestions(String name)
			throws SystemException;

	List<_NameIdPairVO> getLocationSuggestions(String name)
			throws SystemException;

	List<_ConsumerProductVO> getMyList(_UserVO vo);
	
}
